package partThree;
/**
 * 字符串拆分案例
 * */
public class TestSplit {
    public static void main(String[] args) {
        System.out.println("--------------使用空格作为分隔字符串的分隔符-----------------------");
        //创建我们需要进行拆分的字符串
        String str = ". java . string . split . test .   ...";
        //创建替换规则(使用空格作为分隔字符串的分隔符）
        String[] strArray1 = str.split("\\.");
        for (String string : strArray1) {
            System.out.println("子字符串"+string);
        }
        System.out.println(strArray1.length); //6

        System.out.println("-------------同时使用多个分隔符----------------------");

        //也可以同时使用多个分隔符，分隔符之间用 “|” 进行区分,我们这里使用 “ ” 和 “.“进行拆分
        String[] strArray2 = str.split(" |\\.");
        for (String string : strArray2) {
            System.out.println("子字符串"+string);
        }
        System.out.println(strArray2.length); //12

        System.out.println("---------------分隔符不匹配字符串中的内容------------------------------");

        //模拟如果分隔符不匹配字符串中的内容，则输出结果就是此字符串
        String[] strArrayNotSpilt = str.split("z");
        for (String string : strArrayNotSpilt) {
            System.out.println("子字符串"+string);
        }
        System.out.println(strArrayNotSpilt.length); //1

        System.out.println("--------------使用空格将字符串分割为3个字符数组----------------------------------");

        /*
         *也可以按照要求明确其最多分隔为几个字符串
         * 上面的俩个案例没做要求时，其默认值为0
         */
        //使用空格将字符串分割为3个字符数组
        String[] strArrayDo3 = str.split(" ",3);
        for (String string : strArrayDo3) {
            System.out.println("子字符串"+ string);
        }
        System.out.println(strArrayDo3.length); //3

        System.out.println("------------使用空格字符串分割,limit参数为0---------------------------");

        //使用空格字符串分割,limit参数为0,尾部的空参数将会被舍弃
        String[] strArrayDo0 = str.split("\\.",0);
        for (String string : strArrayDo0) {
            System.out.println("子字符串"+ string);
        }
        System.out.println(strArrayDo0.length); //9

        System.out.println("-----------------使用空格字符串分割,limit参数为负数---------------------------");

        //使用空格字符串分割,limit参数为负数,尾部的空参数不会被舍弃
        String[] strArrayDo = str.split("\\.",-3);
        for (String string : strArrayDo) {
            System.out.println("子字符串"+ string);
        }
        System.out.println(strArrayDo.length); //10

    }
}
